import Vue from 'vue'
import Router from 'vue-router'
import routes from './routers'
import store from '@/store'
import { setToken, getToken, canTurnTo} from '@/libs/util'

Vue.use(Router)
const router = new Router({
  routes,
  mode: 'history'
})
const LOGIN_PAGE_NAME = 'login'

const turnTo = (to, access, next) => {
  if (canTurnTo(to.name, access, routes)) next() // 有权限，可访问
  else next({ replace: true, name: 'error_401' }) // 无权限，重定向到401页面
}
router.beforeEach((to, from, next) => {
  // 如果访问的 login 页面，直接放行
  console.log(JSON.stringify(sessionStorage.getItem('access')))
  if (to.path === '/') return next()
  // 获取 token 字符串
  const tokenStr = window.sessionStorage.getItem('token')
  // 如果没有 token 字符串，强制跳转到 登录页
  if (!tokenStr | sessionStorage.getItem('access') + '' !== 'admin' | 'manage') return next('/')
  // 证明有 token 字符串，直接放行
  next()
})
// router.beforeEach((to, from, next) => {
//   const token = getToken()
//   if (!token && to.name !== LOGIN_PAGE_NAME) {
//   // 未登录且要跳转的页面不是登录页
//     next({
//       name: LOGIN_PAGE_NAME // 跳转到登录页
//     })
//   } else if (!token && to.name === LOGIN_PAGE_NAME) {
//     // 未登陆且要跳转的页面是登录页
//     next() // 跳转
//   } else if (token && to.name === LOGIN_PAGE_NAME) {
//     // 已登录且要跳转的页面是登录页
//     next({
//       name: homeName // 跳转到homeName页
//     })
//   } else {
//     next()
// //     console.log(store.state.user.access + '')
// //     if (store.state.user.hasGetInfo) {
// //       turnTo(to, store.state.user.access, next)
// //     } else {
// //       console.log('刷新了')
// //       next()
// //       //   const tokenStr = window.sessionStorage.getItem('token')
// // //   // 如果没有 token 字符串，强制跳转到 登录页
// // //   if (!tokenStr | sessionStorage.getItem('access') + '' !== 'admin' | 'manage') return next('/')
// // //   // 证明有 token 字符串，直接放行
// // //   next()
// //       // 判断用户权限
// //     }
//   }
// })

// router.afterEach(to => {
//   setTitle(to, router.app)
//   window.scrollTo(0, 0)
// })

export default router
